using System;

namespace OpenWaves.Caching
{
    public static class Cache
    {
        public static ICache<T> Null<T>() where T : class
        {
            return new NullCache<T>();
        }

        private class NullCache<T> : ICache<T> where T : class
        {
            public void InsertValue(string key, T value, DateTime absoluteExpiration)
            {                
            }

            public void EvictValue(string key)
            {
            }

            public T GetValue(string key)
            {
                return null;
            }
        }
    }
}